

#ifndef _ENTRADASALIDA_H
#define	_ENTRADASALIDA_H


    /* Incluímos las cabeceras necesarias */

    #include "matrices.h"
    #include "autovalores.h"

    
    /* Definimos las funciones que exportaremos de entrada/salida */

    /*
     * Obtiene una matriz cuadada por el teclado.
     * Primero le solicita el método de obtenición y luego obtiene la matriz
     * por el método especificado.
     * Los métodos pueden ser TECLADO, ARCHIVO o ALEATORIO.
     */
    struct MATRIZ* obtenerMatrizDelUsuario();


    /*
     * Esta función es la encargada de guardar en un archivo
     * los 3 autovalores/vectores pasados por parámetro.
     */
    void almacenar_VV_PROPIOs(struct VV_PROPIO *menorVV, struct VV_PROPIO *mayorVV, struct VV_PROPIO *medioVV);


    /*
     * Esta función guarda en un archivo la matriz pasada por parámetro.
     * Si no se especifica un nombre se utilizará un timestamp como nombre.
     */
    void almacenarMatriz(struct MATRIZ *matriz);


    /*
     * Imprime el vector/valor propio por la pantalla.
     * Utiliza el nombre pasado por parámetro para indicar el autovalor
     */
    void imprimir_VV_PROPIO(char *nombre, struct VV_PROPIO *vv_propio);

    
#endif	/* _ENTRADASALIDA_H */

